Booking flow - Create reservation
POST/v1/restaurants/:id/reservations
Create a reservation for a given restaurant, with all details (meal date, party size and customer data).
Request
Path Parameters
restaurant uuid that needs to be considered for filter
- application/json
Body
Reservation meal date
Number of person attending to the reservation
Possible values: <= 1000 characters
Special request field that the diner can enter text in while making the reservation
customer
object
Possible values: Value must match regular expression ^([a-z]{2,3})(?:_([A-Z]{2}))?$
Possible values: [mr
, mrs
, ms
, mr_and_mrs
, mx
, doctor
, professor
, counsel
, ambassador
, madam_ambassador
, president
, madam_president
, magister
, chef
, lord
, prince
, princess
, count
, countess
, duke
, duchess
, sir
, lady
, highness
, baron
, baroness
, company
]
optins
object
required
Optin the diner to the restaurant newsletter, when false is provided it will not unsusbscribe the diner
Responses
- 200
- 401
- 404
- 409
Successful
- */*
- Schema
- Example (from schema)
Schema
- Reservation status
- Main statuses
- - RECORDED: most frequent status, reservation is confirmed
- - CANCELED: reservation has been canceled
- - NO_SHOW: reservation has been flagged as no-show
- Secondary statuses
- - REQUESTED: Reservation is waiting for a an action from the restaurant (on request booking or Waitlist) - not confirmed yet
- - REFUSED: final state if a requested reservation has been declined by the restaurant
- - REJECTED: general error on the reservation (should be rare)
reservation uuid
restaurant uuid
Reservation meal date
Number of person attending to the reservation
Possible values: [RECORDED
, CONFIRMED
, CANCELED
, NO_SHOW
, REQUESTED
, REFUSED
]
Possible values: <= 1000 characters
Special request field that the diner can enter while making the reservation
customer
object
required
Customer UUID
Possible values: Value must match regular expression ^([a-z]{2,3})(?:_([A-Z]{2}))?$
optins
object
required
Optin the diner to the restaurant newsletter, when false is provided it will not unsusbscribe the diner
{
"reservationUuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"restaurantUuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"mealDate": "2022-01-03T18:10:17.269Z",
"partySize": 2,
"status": "RECORDED",
"offerUuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"customerNote": "note by the customer",
"customer": {
"customerUuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"email": "john@example.com",
"firstName": "Doe",
"lastName": "John",
"phone": "+33612345678",
"locale": "fr_FR",
"civility": "mr",
"optins": {
"restaurantNewsletter": true
}
}
}
Unauthorized
- */*
- Schema
- Example (from schema)
Schema
Possible values: [Unauthorized
]
Possible values: [401
]
{
"data": {},
"error": "Unauthorized",
"statusCode": 401
}
Not Found
- */*
- Schema
- Example (from schema)
Schema
data
object
Possible values: [Restaurant not found
]
Possible values: [Not Found
]
Possible values: [404
]
{
"data": {
"code": "Restaurant not found"
},
"error": "Not Found",
"statusCode": 404
}
Conflict
- */*
- Schema
- Example (from schema)
Schema
data
object
Possible values: [DOUBLE_BOOKING
]
Possible values: [Conflict
]
Possible values: [409
]
{
"data": {
"code": "DOUBLE_BOOKING"
},
"error": "Conflict",
"statusCode": 409
}